﻿namespace EyeOpen.Validation
{
    /// <summary>
    /// Allows to validate a strong typed object.
    /// </summary>
    /// <typeparam name="T"></typeparam>
    public interface IValidator<in T> : IValidator
    {
        /// <summary>
        /// Determines whether the specified object is valid.
        /// </summary>
        /// <param name="obj">The object.</param>
        /// <returns>
        /// <c>true</c> if the specified object is valid; otherwise, <c>false</c>.
        /// </returns>
        bool IsValid(T obj);
    }
}